package cn.stylefeng.guns.modular.purchase.service;

/**
 * 采购中心对外提供的接口
 *
 * @author allen
 * @version 1.0
 * @date 2021/4/11 18:12
 */
public interface PurchaseFacadeService {

    /**
     * 商品中心在删除商品的时候，就给你一个sku id，
     * 你采购中心来给我判断一下，
     * 是否有采购单关联我指定的这个商品，如果有关联，就返回true；
     * 如果没有采购单关联这个商品，就返回false
     * @param goodsSkuId skuId
     * @return 是否
     */
    Boolean existRelatedPurchaseOrder(Long goodsSkuId);


    /**
     * 通知采购中心 创建采购入库单事件 发生了
     * @param purchaseOrderId 采购单id
     * @return 是否创建了
     */
    Boolean informCreatedPurchaseInputOrderEvent(Long purchaseOrderId);

    /**
     * 通知采购中心 完成采购入库单事件 发生了
     * @param purchaseOrderId 采购单id
     * @return 处理结果
     */
    Boolean informFinishedPurchaseInputOrderEvent(Long purchaseOrderId);

    /**
     * 通知采购中心 创建采购结算单事件 发生了
     * @param purchaseOrderId 采购单id
     * @return 处理结果
     */
    Boolean informCreatedPurchaseSettlementOrderEvent(Long purchaseOrderId);

    /**
     * 通知采购中心 完成采购结算单事件 发生了
     * @param purchaseOrderId 采购单id
     * @return 处理结果
     */
    Boolean informFinishedPurchaseSettlementOrderEvent(Long purchaseOrderId);
}
